home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 010 / games.arc / XREF.BAS (.txt) < prev   
Encoding:
GW-BASIC  |  1980-01-01  |  2.5 KB  |  130 lines

  1. 10  ' ******************
  2. 20  ' **     XREF     **
  3. 30  ' ******************
  4. 40  '
  5. 50  CLEAR
  6. 60  SCREEN 0,0
  7. 70  WIDTH 80
  8. 80  KEY OFF
  9. 90  CLS
  10. 100  OPTION BASE 1
  11. 110  DIM PROGRAM$(999)
  12. 120  LOCATE 2,30
  13. 130  PRINT "* * *   XREF   * * *
  14. 140  LOCATE 7,1
  15. 150  INPUT "Program name (with extension) ";FILE$
  16. 160  OPEN FILE$ FOR INPUT AS # 1
  17. 170     WHILE NOT EOF(1)
  18. 180     COUNT=COUNT+1
  19. 190     LINE INPUT #1,PROGRAM$(COUNT)
  20. 200     TEST$=LEFT$(PROGRAM$(COUNT),1)
  21. 210     IF TEST$ >= "1" AND TEST$ <= "9" THEN 270
  22. 220     BEEP
  23. 230     PRINT
  24. 240     PRINT "File isn't an ascii program file ...
  25. 250     PRINT
  26. 260     END
  27. 270     WEND
  28. 280  CLOSE #1
  29. 290  FILE$=LEFT$(FILE$,INSTR(FILE$,"."))+"XRF"
  30. 300  RESTORE
  31. 310  SELECTIONS = 5
  32. 320     FOR I = 1 TO SELECTIONS
  33. 330     READ FL$(I)
  34. 340     NEXT I
  35. 350  DATA Search for all occurences of a string 
  36. 360  DATA Replace all occurences of a string 
  37. 370  DATA "SAVE "
  38. 380  DATA "LOAD "
  39. 390  DATA Quit
  40. 400  FL$(3) = FL$(3)+CHR$(34)+FILE$+CHR$(34)
  41. 410  FL$(4) = FL$(4)+CHR$(34)+FILE$+CHR$(34)
  42. 420  GOSUB 1060
  43. 430  ON CHOICE GOTO 460,630,920,1010
  44. 440  CLS
  45. 450  END
  46. 460  CLS
  47. 470  LOCATE 7,1
  48. 480  INPUT "String to search for ";SEARCH$
  49. 490  PRINT
  50. 500  LINES=0
  51. 510     FOR I = 1 TO COUNT
  52. 520     IF INSTR(PROGRAM$(I),SEARCH$) = 0 THEN 580
  53. 530     PRINT PROGRAM$(I)
  54. 540     LINES=LINES+1
  55. 550     IF LINES < 21 THEN 580
  56. 560     GOSUB 1200
  57. 570     LINES = 0
  58. 580     NEXT I
  59. 590  PRINT
  60. 600  PRINT "... end of search ..."
  61. 610  GOSUB 1200
  62. 620  GOTO 300
  63. 630  CLS
  64. 640  LOCATE 7,1
  65. 650  INPUT "String to search for ";SEARCH$
  66. 660  PRINT "String to replace each occurence of ";
  67. 670  PRINT CHR$(34);SEARCH$;CHR$(34);
  68. 680  INPUT RP$
  69. 690  IF INSTR(RP$,SEARCH$) = 0 THEN 750
  70. 700  BEEP
  71. 710  PRINT
  72. 720  PRINT "This replacement would result in an infinite loop !"
  73. 730  GOSUB 1200
  74. 740  GOTO 300
  75. 750  PRINT
  76. 760  LINES=0
  77. 770     FOR I = 1 TO COUNT
  78. 780     PTR=INSTR(PROGRAM$(I),SEARCH$)
  79. 790     IF PTR = 0 THEN 870
  80. 800     PROGRAM$(I) = LEFT$(PROGRAM$(I),PTR-1) + RP$ +                                                MID$(PROGRAM$(I),PTR+LEN(SEARCH$))
  81. 810     PRINT PROGRAM$(I)
  82. 820     LINES=LINES+1
  83. 830     IF LINES < 21 THEN 860
  84. 840     GOSUB 1200
  85. 850     LINES = 0
  86. 860     GOTO 780
  87. 870     NEXT I
  88. 880  PRINT
  89. 890  PRINT "... end of replace ..."
  90. 900  GOSUB 1200
  91. 910  GOTO 300
  92. 920  CLS
  93. 930  LOCATE 7,1
  94. 940  PRINT "Writing ";FILE$;" out to the disk ..."
  95. 950  OPEN FILE$ FOR OUTPUT AS #1
  96. 960     FOR I = 1 TO COUNT
  97. 970     PRINT #1,PROGRAM$(I)
  98. 980     NEXT I
  99. 990  CLOSE #1
  100. 1000  GOTO 300
  101. 1010  COUNT = 0
  102. 1020  CLS
  103. 1030  LOCATE 7,1
  104. 1040  PRINT "Re-LOADing ";FILE$
  105. 1050  GOTO 160
  106. 1060  CLS
  107. 1070  LOCATE 12-SELECTIONS/2,1
  108. 1080     FOR FLI = 1 TO SELECTIONS
  109. 1090     COLOR 23
  110. 1100     PRINT CHR$(64+FLI);
  111. 1110     COLOR 7
  112. 1120     PRINT "   ";FL$(FLI)
  113. 1130     NEXT FLI
  114. 1140  GOSUB 1270
  115. 1150  IF K$ >= "a" AND K$ <= "z" THEN K$=CHR$(ASC(K$)-32)
  116. 1160  CHOICE=ASC(K$)-64
  117. 1170  IF CHOICE < 1 OR CHOICE > SELECTIONS THEN 1140
  118. 1180  CLS
  119. 1190  RETURN
  120. 1200  ROW=CSRLIN
  121. 1210  COL=POS(0)
  122. 1220  LOCATE 25,25
  123. 1230  COLOR 23
  124. 1240  PRINT "Press any key to continue ..."
  125. 1250  LOCATE ROW,COL
  126. 1260  COLOR 7
  127. 1270  K$=INKEY$
  128. 1280  IF K$ = "" THEN 1270
  129. 1290  RETURN
  130.